Some direct access electronic data storage devices are divided into blocks. “Block” and “sectors” are used interchangeably herein to refer to a data unit of 512 bytes. For ease of addressing, an electronic data storage device may designate a number of blocks as a head and a number of heads as a cylinder. Each such device may include a number of cylinders. Various manufacturers design their electronic data storage devices to designate different numbers of blocks as a head and different numbers of heads as a cylinder. Block size, on the other hand, is standardized among manufacturers. Thus, each of these electronic data storage devices must be able to identify the number of cylinders, the number of heads, and the number of sectors in the device. This information may be referred to as disk geometry or geometry information.
At least one operating system takes some of this information into account when partitioning a device. A “partition” is an area on a disk having a beginning and an end. “Partitioning” refers to the division of a storage device into a plurality of partitions, and the process of determining where such divisions will be. The SOLARIS operating system (OS), for example, partitions devices in terms of cylinders. The SOLARIS OS also reserves the last two cylinders of a device for its own use. The SOLARIS OS is available from Sun Microsystems Inc. Information on the disk geometry is stored together in a block known as the “label.” The label is a data entity which describes what is on the device. The label may include the location and size of each partition in a device. The SOLARIS OS, for example, stores the label of an electronic data storage device in the first block of the device, and other areas toward the end of the device.
Some requests can be used to obtain current disk geometry information from a target storage device, without referring to the label of the target storage device. Such requests can be, for example, a command that uses a protocol called “SCSI” (Small Computer System Interface) to communicate between devices. Three SCSI commands can be used to obtain current disk geometry information from a target device without reference to the label of the storage device. The Mode Sense Page 3 command, for example, can be used to obtain the number of sectors in a head and the number of heads in a cylinder of the target device. Mode Sense Page 4 command can be used to obtain the number of cylinders in the target device. Read Capacity command can be used to obtain the number of sectors in the target device. The number of sectors in a target device also can be determined by multiplying the number of sectors in a head by the number of heads in a cylinder and by the number of cylinders in the device.
Today, users generally don't consider disk geometry when selecting a data volume. Instead, users generally consider the total storage capacity of the data volume as a whole. For example, a user may know that a data volume has 50 Gbytes of storage capacity, but likely will not know how that capacity is divided into cylinders, heads, and sectors within each head. Thus, a user may have data volumes with different disk geometries without knowing that these differences exist.
The inventors of the present invention recognized that the native disk geometry of a data volume can be different than the disk geometry presented by a virtual storage device into which the data volume has been imported. Examples of virtual storage devices include the INVISTA system, which includes the INVISTA application (offered by EMC Corporation of Hopkinton, Mass.) running on a storage and switch controller coupled to an intelligent multi-protocol switch.